﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace BDSim
{
    public class COffSetDLL
    {
        /// <summary>
        ///  计算星地相位中心偏移
        /// </summary>
        /// <param name="pCalOff_Input">
        ///         pCalOff_Input.SatECFPos是卫星在地固系位置
        //          pCalOff_Input.UseECFPos是地面站在地固系的位置
        //          pCalOff_Input.S_Off  卫星在星固系的相位中心偏差（PCO）
        //          pCalOff_Input.U_Off  地面站接收机在东北天的相位中心偏差（PCO）</param>
        /// <param name="Ioff"> Ioff  误差开关 0是关,1是卫星和地面接收机全算，2只算卫星偏移，3为只算地面接收机偏移  </param>
        /// <param name="DeltOff">相位中心偏移（假如Ioff不是0）假如Ioff是0就返回0</param>
        /// <returns>0 卫星和地面站的位置设置的不合适,1计算正确</returns>
        [DllImport("COffSetDLL.dll", EntryPoint = "CalPhaseOffset_output", CallingConvention = CallingConvention.Cdecl)]
        public static extern int CalPhaseOffset_output(caloff_input pCalOff_Input, int Ioff, out double DeltOff);
    }
}
